package org.orz.story.pms.biz.service;

import org.orz.story.pms.biz.model.req.*;
import org.orz.story.pms.biz.model.resp.ListRoleWithGrantStatusResp;
import org.orz.story.pms.biz.persistence.entities.PmsRole;

import java.util.List;

public interface PmsRoleService {
    /**
     * 分页查询角色信息
     */
    List<PmsRole> listRoleInfo(ListRoleInfoReq req);

    /**
     * 查询角色列表-包含是否分配
     */
    List<ListRoleWithGrantStatusResp> listRoleWithGrantStatus(ListRoleWithGrantStatusReq req);

    /**
     * 新增角色
     */
    void addRole(AddRoleReq req);

    /**
     * 修改角色
     */
    void updateRole(UpdateRoleReq req);

    /**
     * 删除角色
     */
    void deleteRole(DeleteRoleReq req);

    /**
     * 分配角色
     */
    void grantRole(GrantRoleReq req);
}
